Method and apparatus for determining a location of a shared vehicle park position

ABSTRACT

An approach is provided for facilitating use of a shared vehicle. The approach includes receiving a request to return a shared vehicle. The request includes an image captured by a camera sensor of a device. The approach also includes processing the image to determine a drop-off location where the shared vehicle is being returned. The image includes one or more photo-identifiable objects that can be used to visually position the shared vehicle. The approach also includes determining whether the determined drop-off location is authorized or designated for returning of the shared vehicle.

RELATED APPLICATIONS

The present application is a Continuation application of U.S. pat. app.Ser. No. 16/232,795, filed on Dec. 26, 2018, which is incorporatedherein by reference in its entirety.

BACKGROUND

Service providers and vehicle manufacturers are continually challengedto deliver value and convenience to consumers by, for example, providingcompelling network services. One area of interest has been thedevelopment of location-based services to that involve locating parkedpositions of shared vehicles such as bicycles, electric scooters,mopeds, cars, etc. For example, in some scenarios, when a shared vehicleis parked in a city, there is a risk that the location of this sharedvehicle cannot be accurately detected with GPS, differential GPS orGPRS. This risk is due to environmental factors such as reflections onbuildings, urban canyon effect, etc. Under these types of scenarios,service providers face significant technical challenges in locating theshared vehicle accurately.

SOME EXAMPLE EMBODIMENTS

Therefore, there is a need for an approach for detecting and reporting ashared vehicle's parking position so that it can be more easily located.

According to one embodiment, a method for determining a location of ashared vehicle based on fused location data, comprises initiating acapture of an image of a shared vehicle using a camera sensor of adevice. The method also comprises processing the image to determine animage-based location of the shared vehicle. The method also comprisesfusing the image-based location with at least one other source oflocation data indicating a position of the shared vehicle to determinethe location of the shared vehicle.

According to another embodiment, an apparatus comprises at least oneprocessor, and at least one memory including computer program code forone or more computer programs, the at least one memory and the computerprogram code configured to, with the at least one processor, initiate acapture of an image of a shared vehicle using a camera sensor of adevice. The apparatus is also caused to process the image to determinean image-based location of the shared vehicle. The apparatus is alsocaused to fuse the image-based location with at least one other sourceof location data indicating a position of the shared vehicle todetermine the location of the shared vehicle.

According to another embodiment, a computer-readable storage mediumcarries one or more sequences of one or more instructions which, whenexecuted by one or more processors, cause, at least in part, anapparatus to initiate a capture of an image of a shared vehicle using acamera sensor of a device. The apparatus is also caused to determine animage-based location of the shared vehicle. The apparatus is also causedto fuse the image-based location with at least one other source oflocation data indicating a position of the shared vehicle to determinethe location of the shared vehicle.

According to another embodiment, an apparatus comprises means forcapturing of an image of a shared vehicle using a camera sensor of adevice. The apparatus also comprises means for processing the image todetermine an image-based location of the shared vehicle. The apparatusfurther comprises means for fusing the image-based location with atleast one other source of location data indicating a position of theshared vehicle to determine the location of the shared vehicle.

In accordance with yet another embodiment, a method for facilitating useof shared vehicles provided by a shared vehicle service is disclosed.The shared vehicle service provides a plurality of users with aplurality of shared vehicles. Each of the shared vehicles is availablefor temporary exclusive personal usage by any of said users, whereuponafter a temporary exclusive personal usage of a particular one of theplurality of shared vehicles by any of the users the particular sharedvehicle is available for temporary exclusive personal usage by anotherof the users. The method includes obtaining an image of a shared vehiclefrom one of the plurality of users who has finished a usage of theshared vehicle and parked the shared vehicle along a road in ageographic area that includes a service area of the shared vehicleservice. The image was obtained with a device of one of the plurality ofusers, wherein the image was obtained from a vantage point away from theshared vehicle and wherein the image shows the shared vehicle amidsurroundings of the shared vehicle. The method includes making the imageor contents thereof available to a potential subsequent user of theshared vehicle to facilitate locating or identifying the shared vehicle.

In addition, for various example embodiments of the invention, thefollowing is applicable: a method comprising facilitating a processingof and/or processing (1) data and/or (2) information and/or (3) at leastone signal, the (1) data and/or (2) information and/or (3) at least onesignal based, at least in part, on (or derived at least in part from)any one or any combination of methods (or processes) disclosed in thisapplication as relevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating access to at least oneinterface configured to allow access to at least one service, the atleast one service configured to perform any one or any combination ofnetwork or service provider methods (or processes) disclosed in thisapplication.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating creating and/orfacilitating modifying (1) at least one device user interface elementand/or (2) at least one device user interface functionality, the (1) atleast one device user interface element and/or (2) at least one deviceuser interface functionality based, at least in part, on data and/orinformation resulting from one or any combination of methods orprocesses disclosed in this application as relevant to any embodiment ofthe invention, and/or at least one signal resulting from one or anycombination of methods (or processes) disclosed in this application asrelevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising creating and/or modifying (1) at leastone device user interface element and/or (2) at least one device userinterface functionality, the (1) at least one device user interfaceelement and/or (2) at least one device user interface functionalitybased at least in part on data and/or information resulting from one orany combination of methods (or processes) disclosed in this applicationas relevant to any embodiment of the invention, and/or at least onesignal resulting from one or any combination of methods (or processes)disclosed in this application as relevant to any embodiment of theinvention.

In various example embodiments, the methods (or processes) can beaccomplished on the service provider side or on the mobile device sideor in any shared way between service provider and mobile device withactions being performed on both sides.

For various example embodiments, the following is applicable: Anapparatus comprising means for performing the method of any of theclaims.

Still other aspects, features, and advantages of the invention arereadily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the invention. Theinvention is also capable of other and different embodiments, and itsseveral details can be modified in various obvious respects, all withoutdeparting from the spirit and scope of the invention. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example, andnot by way of limitation, in the figures of the accompanying drawings:

FIG. 1A is a diagram of a system for determining a location of a sharedvehicle based on fused location data, according to one embodiment;

FIG. 1B is a diagram of a transportation database, according to oneembodiment;

FIG. 1C is a diagram of a geographic database, according to oneembodiment;

FIG. 2 is a diagram of the components of a mapping platform, accordingto one embodiment;

FIG. 3 is a flowchart of a process for determining a location of ashared vehicle based on fused location data, according to oneembodiment;

FIG. 4 is an image captured by a user device which includes a sharedvehicle at its parked location, according to one embodiment;

FIG. 5 is an image of a user device with a user interface depicting animage of the shared vehicle as viewed through the camera sensor,according to one embodiment;

FIG. 6 is an image of a user device with a user interface depicting animage of the shared vehicle as viewed through the camera sensor togetherwith an AR feature, according to one embodiment;

FIG. 7 is an image captured by a user device which includes multipleshared vehicles at adjacent parked locations, according to oneembodiment;

FIG. 8 is a diagram of hardware that can be used to implement anembodiment of the invention;

FIG. 9 is a diagram of a chip set that can be used to implement anembodiment of the invention; and

FIG. 10 is a diagram of a mobile terminal (e.g., mobile computer) thatcan be used to implement an embodiment of the invention.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for determining alocation of a shared vehicle are disclosed. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide a thorough understanding of theembodiments of the invention. It is apparent, however, to one skilled inthe art that the embodiments of the invention may be practiced withoutthese specific details or with an equivalent arrangement. In otherinstances, well-known structures and devices are shown in block diagramform in order to avoid unnecessarily obscuring the embodiments of theinvention.

FIG. 1A is a diagram of a system for determining a location of a sharedvehicle, according to one embodiment. With the emergence of sharedvehicle services (e.g., shared cars, bicycles, motorcycles, boats,mopeds, scooters, etc.), the importance of obtaining an accurateposition of a parked shared vehicle has also increased. A shared vehiclemay be a car, a motorcycle, an electric bike, an electric scooter, abicycle, a kickboard, a mini scooter, a boat, etc. owned by anindividual, a commercial business, a public agency, a cooperative, or anad hoc grouping. The vehicle (e.g., cars, motorcycles, electric bikes,electric scooters, bicycles, boats, airplanes, etc.) can behuman-operated, semi-autonomous, or autonomous.

With a GPS approach, an upload of GPS information from an end user'smobile device can be provided when the shared vehicle is returned orchecked out. With a GPRS method, the shared vehicle is equipped a GPSpositioning module. In some cases, the shared vehicle such as a bicycle,moped or scooter is parked adjacent to a wall or other reflectingsurface making it difficult for the GPS or GPRS to provide accuratepositioning coordinates. As such, the next user of the shared vehiclecan waste considerable time searching for the shared vehicle. When anext user is provided with only an approximate GPS or GPRS location, thenext user has a much more difficult time trying to locate the sharedvehicle which increases the next user's inconvenience and potentiallyreduces the next user's interest in using the shared vehicle service inthe future. Similarly, at the time the shared vehicle is being checkedout by the end user, there are instances when the end user is not ableto check out and leave the shared vehicle because a GPS position cannotbe reported. As such, the end user must move the shared vehicle toanother location until a proper GPS signal can be reported. Thisprovides an undesirable experience for the end user attempting to checkout the shared vehicle. Under these types of scenarios, serviceproviders face significant technical challenges in optimizing the parkedlocation of shared vehicles to minimize user time spent on checking outand locating the shared vehicle and improving user experience.

By way of example, shared vehicle services generally offer a fleet ofvehicles that can be “booked” or reserved for use by users. After theuser has completed their trip, the shared vehicle is checked out orreturned by the user, such that the next user can accurately andefficiently locate the parked shared vehicle for use. Hence,location-based solutions that provide accurate GPS positions of parkedshared vehicles can a provide valuable service to consumers byminimizing the time a user spends attempting to check out or return ashared vehicle and by optimizing the user's report of accurate GPSposition data back to the shared vehicle service. If a reported locationof a checked out shared vehicle is not provided, or only an approximatelocation is reported, this causes the shared vehicle service topotentially lose money and reduce the number of customers served or theutilization rates of the shared vehicles.

However, providing accurate location details of a parked shared vehiclecan be technically challenging. In particular, a common occurrence incities is for GPS position data being only approximate for a parkedshared vehicle due to environmental obstacles such as buildingreflections, GPS drift, urban canyon effect, etc. For example, sharedvehicles such as bicycles are often parked next to walls or otherreflecting surfaces. As a result, GPS position data cannot be accuratelyreported back to a shared vehicle service by way of a user's device.Similarly, GPRS position data cannot be reported back to the sharedvehicle service by way of a positioning module or receiver equipped onthe shared vehicle. The user may be forced to relocate the sharedvehicle to a different location that is not subject to environmentalobstacles. This delay greatly diminishes the user's experience and takesaway valuable time from the user. Additionally, the user needs to payfor the time when he or she is trying to return/check out a vehicle.Moreover, the positioning module on the shared vehicle is an added costfor the shared vehicle service provider in terms of the module'sinstallation cost, maintenance costs, replacement cost due to theft,etc.

To address these problems, a system 100 of FIG. 1A introduces alocation-based solution permitting a user checking out or returning ashared vehicle and leaving the shared vehicle at their desired location,when a position of the parked shared vehicle is reported by combiningmultiple positioning methods, sources and inputs. In one embodiment, thesystem 100 can initiate a capture of an image of a shared vehicle at itsparked location using an imaging capture device, such as a camera sensorof a user device. In one embodiment, the camera sensor is associatedwith the user of the shared vehicle. The captured image is processedeither at the user's device or at the shared vehicle service provider'send to determine an image-based location of the shared vehicle. In oneembodiment, the capture of the image is initiated or requested based ondetermining that a sensed location of the shared vehicle is determinedby a location sensor of the shared vehicle having an inaccuracy above athreshold value. In one embodiment, the GPS receiver on the sharedvehicle or the user's device is able to compute some accuracy level fromthe combination of the received GPS signals, and based on these receivedGPS signals, a mapping application can show a larger halo or spherearound the user position when the position is deemed not very accurate.In other words, if the GPS receiver that is equipped on the sharedvehicle is unable to attain and/or report accurate GPS positioncoordinates, the capture of the image by the user device is initiated orrequested due to the inaccuracy of the GPS receiver of the sharedvehicle being above a predetermined threshold value.

The GPS system is a satellite navigation system that provides locationinformation anywhere on or near the Earth's surface. It comprises anumber of satellites in orbit above Earth. Each satellite continuallytransmits messages that include the time the message was transmitted,and the satellite position. On the ground the GPS unit receives thesemessages and, by comparing the time at which the message was received(on its internal clock) against the time which the message wastransmitted, it works out how far away it is from each satellite. Inorder to calculate its location the GPS unit must receive messages(signals) from a minimum of four satellites. For example, if a GPS unitreceives signals from a first and second satellite, upon receiving eachsignal the GPS unit calculates its distance from satellites one and two.If however, the GPS unit only receives a signal from the firstsatellite, then it can only determine that its location lies somewherealong a sphere of all locations that are the same distance from thefirst satellite. When the GPS unit receives signals from both the firstand second satellites, it determines its distance from each satellite.Since two signals have been received the GPS unit can narrow thelocation down to those points where two individual distance spheres(i.e., one for each satellite) intersect. With the introduction of athird satellite the GPS unit further narrows the location down to twopoints. Only one of these points will be on the Earth's surface andtherefore can be discarded by the GPS unit. With just three satellitesthe GPS unit can trilaterate the location. In practice, a fourthsatellite is needed to improve accuracy (particularly altitude accuracy)due to errors in measuring the precise time at which each signal wasreceived.

As a non-limiting example, the predetermined threshold value can set to+/−5 meters for the latitude and longitude coordinates. If the GPSreceiver of the shared vehicle is outside this predetermined thresholdvalue, the capture of the image is initiated or requested. In oneembodiment, the inaccuracy of the sensed location is determined to beabove the threshold value by map matching the sensed location to an areawhere parking of the shared vehicle is not possible or restricted due toenvironmental obstacles, or because an area designated is restricted dueto its proximity to a geographical feature (e.g., river or stream), orprohibited by a local authority or by the shared vehicle service. Inanother embodiment, the capture of the image can be initiated orrequested based on a determination that a previously reported locationof the shared vehicle has an inaccuracy above a threshold value. Thus, aprevious user report or previous report from the shared vehicle couldhave already been submitted or reported to the shared vehicle serviceand the next user is requested to capture the image in order todetermine a more accurate location.

In one embodiment, a user rents a shared vehicle, travels on or in theshared vehicle and arrives at the user's intended location. The userwill then release (check-out or return) the shared vehicle at theconclusion of their trip. The user will use an application forinitiating the release of the shared vehicle. The positioning module orlocation module equipped on the shared vehicle will attempt to report tothe shared vehicle service a GPS position of the parked shared vehicle.However, in this embodiment the GPS position is highly inaccurate. Theinaccuracy of the sensed GPS location exceeds a threshold. Theapplication requests the user to capture an image of the shared vehiclewith the user's device. Alternatively, user can use an AR feature thatwill assist the user in capturing an image of the shared vehicle byinstructing the user to rotate the user device to capture more of thesurroundings of the shared vehicle to assist with locationdetermination. The system 100 uses the reported location based on thegeo-tagged image or from a real-time detection feature of the AR.

In one embodiment, the system 100 can determine a location of the sharedvehicle by fusing the image-based location with at least one othersource of location data indicating a position of the shared vehicle todetermine the location of the shared vehicle. In one embodiment, theimage-based location of the shared vehicle is determined based on atleast one of: a geo-tagged location associated with the image; objectlocation data of one or other objects that are photo-identifiable in theimage; and image depth data detected by an AR component of the device.In one embodiment, the validity of the image for determining theimage-based location of the shared vehicle is based on a distance of thecamera sensor from the shared vehicle, a presence of one or more otherphoto-identifiable objects that can be used to visually position theshared vehicle, or a combination thereof In one embodiment, thegeo-tagged location is determined using a location sensor (e.g., GPSreceiver) of the user device at a time of the capture of the image. Aposition is reported by the camera sensor capturing the picture of theshared vehicle, i.e. picture geo-tagging using a user phone or user headmounted device. In one embodiment, a geo-tagged picture is an imagewhich is associated with a geographical location. This is usuallyperformed by assigning at least a latitude and longitude to the image,and optionally altitude, compass bearing and other fields may also beincluded. A camera sensor of a user device is typically provided with abuilt-in GPS receiver that is configured automatically to perform thegeo-tagging.

In one embodiment, the system 100 can fuse or combine the image-basedlocation with at least one other source of location data indicating aposition of the shared vehicle to determine the location of the sharedvehicle. In one embodiment, the at least one other source of locationdata indicating the position of the shared vehicle includes at least oneof: first position data reported by the shared vehicle; and secondposition data determined using a sensor of the device other than thecamera sensor.

In one embodiment, the visual positioning system is configured by thesystem 100 to use the camera sensor of the user device in conjunctionwith back-end data to analyze the surroundings of the shared vehicle andidentify the location with greater accuracy. The visual positioningservice is configured to access the camera of the user device toidentify the surroundings in the field of view and compare it to adatabase of street view images in the region. The visual positioningservice can be provided as an application on the user device, such aspart of a map application installed on the user device. In oneembodiment, the visual positioning system can provide detailed indoorand outdoor location positioning. The visual positioning system is idealfor densely populated urban areas that have environmental obstacles,such as building reflections, GPS drift, urban canyon effect, etc.

In one embodiment, the system 100 can facilitate use of shared vehiclesby a shared vehicle service. The shared vehicle service can providemultiple users with multiple shared vehicles in a service area. Theshared vehicles are rented for a temporary period of time beginning at apick-up (check-in) location and returned at a drop-off (check-out)location. This temporary period of time is considered an exclusivepersonal usage of a shared vehicle by a user. Once the user returns theshared vehicle and checks-out the shared vehicle with the shared vehicleservice, the shared vehicle is considered available for the next userfor their temporary exclusive personal usage. The temporary period oftime a user rents the shared vehicle can vary from only a few minutes,such as a relatively short bicycle ride over several city blocks. Inother examples, the user can rent the shared vehicle for longer periodsof time such as several hours, an entire day, or even multiple days. Inone example, when the user has completed or finished their temporaryexclusive personal usage of the shared vehicle, the user parks thevehicle in a geographic area which is part of the service area of theshared vehicle service. In one embodiment, the user is considered tohave finished with the shared vehicle when the user has arrived at theirintended location and has parked the shared vehicle and is ready tocheck out or release the shared vehicle back to the shared vehicleservice. The user can park the shared vehicle along a street or road ina geographic area that includes a service area of the shared vehicleservice. The parked shared vehicle can be on a sidewalk adjacent thestreet or road, or be parked on the actual road or street in a parkingspot. In certain embodiments, the service area is considered to be anygeographic area that the shared service provider has designated, such asan entire town or city or portion(s) of the town or city or multipletowns or cities in the geographic area.

In one embodiment, the user will obtain or capture an image of theparked shared vehicle with their personal device. In one embodiment, theuser will obtain or capture the image from a vantage point away from theshared vehicle, such as between 3 and 8 meters. In one embodiment, thevantage point is a sufficient distance to capture an image of the sharedvehicle as well as surroundings adjacent to the shared vehicle. In oneexample, the vantage point is a position or standpoint from which theshared vehicle is viewed by the user and the user will capture or obtainthe image of the shared vehicle amid its surroundings. In one example,the shared vehicle is parked in front of a wall facade or store frontalong a sidewalk. Therefore, in one embodiment, the image will show theshared vehicle as well as at least a portion of the wall facade or storefront. The surroundings around the shared vehicle can include a portionof the street or sidewalk on which the shared vehicle is parked, alongwith a portion of the backdrop behind the vehicle such as a buildingfront, wall or facade, as well as street sign(s) or an address or nameof a business that appears in the surroundings around the parked sharedvehicle. In certain embodiments, the surroundings include other sharedvehicle(s) that may be parked adjacent to the shared vehicle beingchecked out. The image is accessible by the shared vehicle service. Incertain embodiments, the image or contents thereof are made available toa potential subsequent user of the shared vehicle. The contents of theimage can include GPS location data, time stamp data, and other locationor orientation data captured by the device and submitted to the sharedservice provider. This advantageously provides the subsequent user withhelpful visual information to facilitate their locating oridentification of the shared vehicle for their temporary exclusivepersonal usage.

In one embodiment, the system 100 can provide augmented reality (AR)features to assist with determining the location of the shared vehicle.In one embodiment, a visual inertial odometer is configured to becombined with camera tracking and motion sensor data, with which areal-time position of the user device can be recorded. In oneembodiment, landscape and lighting can be determined in the image andthe surfaces such as roads, sidewalks, floors, tables, walls, andceilings can be detected.

In other embodiments, the system can include a motion tracking sensorenabled on the user device to observe inertial measurement unit (IMU)sensor data and feature points of the surrounding space to determineboth the position and orientation of the device as per its movement. Theuser device can be enabled to detect horizontal surfaces and to detectlighting ambience of the device to enhance appearance and make the imageaccurate in real-time. In one embodiment, a magnetometer sensor can beprovided in the user device that creates a Hall-effect sensor thatdetects the Earth's magnetic field along three perpendicular axes X, Yand Z. The Hall-effect sensor produces voltage which is proportional tothe strength and polarity of the magnetic field along the axis eachsensor is directed. The sensed voltage is converted to digital signalrepresenting the magnetic field intensity. The magnetometer is enclosedin a small electronic chip that can incorporate another sensor (e.g., abuilt in accelerometer) that helps to correct the raw magneticmeasurements using tilt information from the auxiliary sensor. Inaddition to general rotational information, the magnetometer is used fordetecting the relative orientation of the user device relative to theEarth's magnetic north. The magnetometer can determine whether the userdevice is facing a certain direction, i.e., facing north west. Suchfeatures and sensors can be pre-installed on a user device or availableas a downloadable application to the user device. In one embodiment, apositioning algorithm and a sensor fusion algorithm can be used for thelocation determination capabilities of the system 100.

In one embodiment, the system 100 can provide data for presenting a userinterface on the user device to indicate a valid framing, a recommendedframing, or a combination thereof for the capture of the image. In oneembodiment, the system 100 can support the user by providing some usefulhints or suggestions and provide direct feedback on how to capture amore useful or valuable image that is used for location analysis. In oneembodiment, the user interface can suggest that the user be within acertain range of the parked shared vehicle, such as between 3 and 8meters. If the user is beyond this suggested range, the user can benotified to move closer to the shared vehicle. In one embodiment, thesystem 100 can provide instructions to the user to capture some detailsfrom a facade immediately behind the shared vehicle to enable facadedetection. In one embodiment, a store front facade that includes abusiness name or street number could be captured to assist with locationdetermination.

In one embodiment, the system 100 can provide the user feedback by wayof AR. The system 100 can perform real-time analysis of the image andthe background and advise the user when it has enough information todetermine a location of the shared vehicle. In one embodiment, thesystem 100 is configured to detect the shared vehicle, since the sharedvehicle's geometry is known under all angles and lighting conditions bythe shared vehicle service that supplied the shared vehicle. In oneembodiment, the system 100 provides an AR view enabling real-timepositioning using the visual positioning service technology mentionedherein. In one embodiment, visual AR features or clues can be generatedon the user's device when the current field of view through the camerasensor is not providing sufficient details for location determination.These AR features or clues could be a directional arrow or pointingfinger which easily show which direction the user should move around orto rotate the user device such that more of the surroundings adjacentthe shared vehicle can be obtained. In one embodiment, the visualpositioning service using the AR feature can display cues to either movearound or rotate the device, e.g. to be able to see more of the facadeof the building immediately behind the shared vehicle or more of thefacade that the shared vehicle is leaning against. In other embodiments,an offline feature is provided that does not necessarily allow real-timefacade recognition from street view images when the content is notavailable, but that could be uploaded as soon as connectivity allows,with a defined validity period. With the system 100 using AR to report ashared vehicle location, a very simplified and intuitive way for theuser to complete the shared vehicle positioning task is provided. Thesystem 100 can inform the user as soon as it has enough data to proceed,i.e. real-time feedback. Moreover, the system 100 provides a means foraccurately locating shared vehicles, which results in more satisfiedcustomer experiences and more usage/rentals of those shared vehicles,and which translates into more business for the shared vehicle service.

In one embodiment, the system 100 includes the visual positioningservice which can obtain details from its street view server todetermine the location of the shared vehicle. In one embodiment, whensufficient accuracy from satellite images is available, similar imagerecognition can be performed if there are visual cues or markings on thefloor or on some other surface. In one embodiment, as soon as the visualpositioning system has enough data, it can show an approval indicatorsuch as a check mark, star, or a thumbs up icon which advises the usersthat the location shared vehicle has been obtained and the sharedvehicle has been successfully checked out such that the user can leavethe shared vehicle behind for the next user that can easily locate basedon the successfully reported location. In one embodiment, the userdevice can be a mobile phone or mobile tablet of the user, while otherembodiments include user head mounted devices such as smart glasses thatare an optical head-mounted display designed in the shape of a pair ofeyeglasses or eyewear.

In one embodiment, the system 100 can use position information of asecond shared vehicle parked nearby the first shared vehicle. The knownposition of this second (or possibly third or more) shared vehicle canbe used to fine tune the positioning of the shared vehicle. Sharedvehicle services often encourage its customers to group the sharedvehicles (e.g., bicycles, mopeds, scooters, etc.) when possible in orderto limit the street disturbances or obstructions. In other embodiments,the shared vehicle service prefers to house the shared vehicles togetherat a station, and customers are encouraged to check out their sharedvehicle at the station. In one embodiment, the user may “see” a secondshared vehicle through the camera lens when attempting to take a pictureof the first shared vehicle they are attempting to check out. Thedetection of this second shared vehicle can be used to fine tune thepositioning of the first shared vehicle by retrieving the previouslyreported position of the second shared vehicle and analyzing therelative position to the first shared vehicle being checked out. In oneembodiment, the system 100 will recognize the second shared vehicle asbeing within a specified distance from the current shared vehicle suchas 3 meters on the right of the previously parked shared vehicle.

In one embodiment, the system 100 advantageously recognizes when theaccuracy of the position of the shared vehicle is low or outside aspecified threshold. The system 100 will not expend unnecessarycomputation time and various resources if accuracy of the location ofthe shared vehicle is adequate. In one embodiment, system 100 will notinitiate the additional step of using a visual positioning system, AR orinitiate a request for the user to capture an image of the sharedvehicle, if the location of the shared vehicle is already accuratelyreported by an on-board GPS receiver. In another embodiment, the usercan initiate the request only when the shared vehicle's reportedposition appears to be inaccurate to the user or if the system 100determines that there is a risk for the reported position beinginaccurate (e.g. if previous positions reported in this area were oftenoff, or if the map data seems to indicate that there could be anunsuitable or restricted location for parking a shared vehicle (e.g., abicycle near a river, lake, stream, etc.). In one embodiment, the system100 can permit the user to manually indicate a location of the sharedvehicle on a map when the system 100 is not able to properly positionthe shared vehicle. In one embodiment, the user can manually pin pointthe location of the shared vehicle at check out despite the risk of auser mistake or error in designating the location.

In one embodiment, the system 100 provides an improved locationreporting mechanism that minimizes any user frustration in using theshared vehicle service. Moreover, with the user capturing an image ofthe shared vehicle at the time of check out, the user is also providingthe shared vehicle service with evidence that the shared vehicle wasreturned safely and without any physical damage done to the sharedvehicle during their trip. This is an incentive to the user to agree tocapturing the image when prompted by the system 100.

In one embodiment, user equipment (UEs) 101 of a user and sensors in ashared vehicle 103 are collecting and reporting data (e.g., locationdata) to the system 100 to support the location-based solution accordingto the embodiments described herein. In this way, for instance, sharedvehicles 103 a-103 n and/or vehicle users can use the system 100 forreporting location data to optimize or reduce the amount of cost andtime for a user to check out a shared vehicle. With this data along withother data such as but not limited to public transport information, thesystem 100 (e.g., a routing platform 105) can compute candidate routeoptions to a destination that includes one or more segments for the userto travel via one or more transport modes to pick up the vehicle and asegment for the user/vehicle to travel to the final destination. In thisway, the system 100 can more precisely present to the user transportmodes to travel to the pickup point then get to the destination in thevehicle. In one embodiment, the UEs 101 and the routing platform 105have connectivity via a communication network 107.

In one embodiment, the shared vehicles 103 a-103 n are equipped with alocation sensor (e.g., GPS) that reports the shared vehicles' parkedposition. In one embodiment, the UE 101 may be configured with one ormore sensors 110 a-110 n (also collectively referred to as sensors 110)for determining the location data (including parking locations). By wayof example, the sensors 110 may include location sensors (e.g., GPS),image capturing sensors, magnetometers, accelerometers, compass sensors,gyroscopes, depth sensors, altimeters, etc.

In one embodiment, after a journey is completed by a user (e.g., uponparking), the location data can be analyzed (e.g., by respectiveapplications 111 a-111 n and/or the mapping platform 105 for storage in,for instance, a transportation database 113 and/or a geographic database119) to detect parking locations where the shared vehicle remains afterbeing checked out by the user and then becomes available for newreservations. Applications 111 a-111 n perform location functionsindependently or in conjunction with the mapping platform 105. In oneembodiment, the mapping platform 105 and/or applications 111 receive auser request to check out the shared vehicle.

In one embodiment, timestamp information indicates at which time andwhich location the shared vehicle was parked is recorded as a record inthe transportation database 113. In one embodiment, the record is thentransmitted or uploaded to the mapping platform 105. In yet anotherembodiment, the record data may be maintained at the UE 101 device forlocal processing to determine vehicle parking information fortransmission to the mapping platform 105 and/or other vehicles/UEs 101(e.g., when operating in a peer-to-peer network architecture).

In one embodiment, the mapping platform 105 is configured to monitor theuser and may present to the user a real-time status of the user, and/oran estimated or predicted status of the user to arrive at a sharedvehicle parking location. The status information may also be associatedwith timestamp information and/or other contextual information(including parking) to store in the transportation database 113.

In another embodiment, the mapping platform 105 may present to the userinformation on parking areas and/or related information retrieved fromthe geographic database 119, while the user is traveling in or on theshared vehicle. In addition or alternatively, such information can beprovided by the service platform 109, one or more services 109 a-109 m(also collectively referred to as services 109), one or more contentproviders 115 a-115 k (also collectively referred to as contentproviders 115), or a combination thereof. For example, the sources ofthe information may include map data with visual positioning service andinformation inferred from data collected from participating sharedvehicles, or a combination thereof.

In one embodiment, the mapping platform 105 may also update theinformation as a map overlay that illustrates, for instance, a currentlocation of the shared vehicles 103 equipped with a GPS receiver that iscapable of submitting location information to the mapping platform 105.

As shown in FIG. 1A, the mapping platform 105 operates in connectionwith UEs 101 and shared vehicles 103 for managing a shared vehiclelocation. By way of example, the UEs 101 may be any mobile device,personal navigation device (“PND”), a portable navigation device, acellular telephone, a mobile phone, a personal digital assistant(“PDA”), a wearable device such as eyewear, a camera, a computer and/orother device that can perform location based functions, i.e., digitallocation and map display. Also, the UEs 101 may be configured to accessa communication network 107 by way of any known or still developingcommunication protocols. Via this communication network 107, the UE 101may transmit location data as well as access various location basedservices for location of a parked shared vehicle.

Also, the UEs 101 may be configured with applications 111 forinteracting with one or more content providers 115, services of theservice platform 109, or a combination thereof. Per these services, theapplications 111 of the UE 101 may acquire mapping information and otherdata associated with the parked location of the user and the sharedvehicle. The content providers 115 and service platform 109 rely uponthe gathering of user and vehicle data for executing the aforementionedservices.

The UEs 101 may be configured with various sensors 110 such as GPSreceivers for interacting with one or more satellites 117 to determineand locate the position of the shared vehicle and location of a user. Inaddition, the sensors 110 may gather motion data, light data, sounddata, image data, temporal data and other data associated with UEs 101and/or the vehicle 103 thereof.

By way of example, the mapping platform 105 may be implemented as acloud based service, hosted solution or the like for performing theabove described functions. Alternatively, the mapping platform 105 maybe directly integrated for processing data generated and/or provided byservice platform 109, content providers 115, and/or applications 111.Per this integration, the mapping platform 105 may perform locationcalculation based on user/vehicle location information.

By way of example, the communication network 107 of system 100 includesone or more networks such as a data network, a wireless network, atelephony network, or any combination thereof. It is contemplated thatthe data network may be any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

By way of example, the UEs 101, the shared vehicles 103, the routingplatform 105, the service platform 109, and the content providers 115communicate with each other and other components of the communicationnetwork 107 using well known, new or still developing protocols. In thiscontext, a protocol includes a set of rules defining how the networknodes within the communication network 107 interact with each otherbased on information sent over the communication links. The protocolsare effective at different layers of operation within each node, fromgenerating and receiving physical signals of various types, to selectinga link for transferring those signals, to the format of informationindicated by those signals, to identifying which software applicationexecuting on a computer system sends or receives the information. Theconceptually different layers of protocols for exchanging informationover a network are described in the Open Systems Interconnection (OSI)Reference Model.

Communications between the network nodes are typically affected byexchanging discrete packets of data. Each packet typically comprises (1)header information associated with a particular protocol, and (2)payload information that follows the header information and containsinformation that may be processed independently of that particularprotocol. In some protocols, the packet includes (3) trailer informationfollowing the payload and indicating the end of the payload information.The header includes information such as the source of the packet, itsdestination, the length of the payload, and other properties used by theprotocol. Often, the data in the payload for the particular protocolincludes a header and payload for a different protocol associated with adifferent, higher layer of the OSI Reference Model. The header for aparticular protocol typically indicates a type for the next protocolcontained in its payload. The higher layer protocol is said to beencapsulated in the lower layer protocol. The headers included in apacket traversing multiple heterogeneous networks, such as the Internet,typically include a physical (layer 1) header, a data-link (layer 2)header, an internetwork (layer 3) header and a transport (layer 4)header, and various application (layer 5, layer 6 and layer 7) headersas defined by the OSI Reference Model.

FIG. 1B is a diagram of the transportation database 113, according toone embodiment. In one embodiment, vehicle information and/or any otherinformation used or generated by the system 100 with respect to sharedvehicle routing data 121 stored in the transportation database 113 andassociated with and/or linked to the geographic database 119 or datathereof.

In one embodiment, the routing data 121 include public transport data123, vehicle data 125, traffic data 127, user profile data 129, usercontext data 131, indexes 133, etc. In one embodiment, the publictransport data 123 can include any public transport data item used bythe routing platform 105 including, but not limited to public transporttype data, public transport schedule data, public transport route andstop data, real-time public transport trajectory data, etc. retrievedfrom transit agencies, public transportation operators, etc. In oneembodiment, the public transport data can be used in junction with theuser profile data 129 and the user context data 131 for estimating anestimated arrival time for the user to arrive at a vehicle pickup/checkout location and/or a creation of another vehicle reservation foranother shared vehicle. In another embodiment, the traffic data 127 isfurther included for estimating the estimated arrival time for the userto arrive at a vehicle pickup/check in location and/or a creation ofanother vehicle reservation for another vehicle. The public transportdata format may be in General Transit Feed Specification (GTFS),REST/XML, or other industry standards for publishing transportationnetwork and schedule data. In one embodiment, the public transport caninclude but is not limited to on-demand services (e.g., taxis, sharedvehicles, etc.) and fixed-route services such as city buses,trolleybuses, trams (or light rail) and passenger trains, rapid transit(metro/subway/underground, etc.), ferries, airlines, coaches, intercityrail, etc.

In one embodiment, the vehicle data 125 can include any vehicle dataitem used by the mapping platform 105 including, but not limited tovehicle type data, vehicle ownership data, vehicle route and step data,real-time parking instance data, timestamp information for the parkinginstance data, etc. for estimating the estimated arrival time for theuser to arrive at a vehicle pickup or check in location, and/or acreation of another vehicle reservation for another shared vehicle. Inanother embodiment, the traffic data 127 is further included forestimating the estimated arrival time for the shared vehicle to arriveat the user destination.

In one embodiment, the traffic data 127 includes, but not limited to,travel speeds, congestions, detours, vehicle types and volumes,accidents, road conditions, road works, etc. on specific road segments.

In one embodiment, the user profile data 129 includes, but not limitedto, the name, name, login named, screen named, nicknamed, handle names,home addresses, email addresses, government identification numbers,operator license/credential types (motorcycle, regular passengervehicle, commercial vehicle, etc.), vehicle registration plate numbers,face, fingerprints, handwriting, credit card numbers, digitalidentities, date of birth, age, birthplace, genetic information (e.g.,gender, race, etc.), telephone numbers, marriage status/records,criminal records, purchase records, financial data, activity records,employment records, insurance records, medical records, political andnon-political affiliations, preferences (e.g., POIs), calendar data,driving history data, vehicle sharing data, etc. of the user.

In one embodiment, the user context data 131 includes, but not limitedto, a destination of the user, a type of the destination of the user, aproximity of the user location to a vehicle pickup location or thedestination, availability of an alternate destination for the user, anumber of passengers accompanying the user, weather data in the vicinityof the user, etc.

More, fewer or different data records can be provided in thetransportation database 113. One or more portions, components, areas,layers, features, text, and/or symbols of the routing data records inthe transportation database 113 can be stored in, linked to, and/orassociated with one or more of the data records of the geographicdatabase 119 (such as mapping and/or location data).

FIG. 1C is a diagram of a geographic database 119, according to oneembodiment. In one embodiment, the geographic database 119 includesgeographic data 135 used for (or configured to be compiled to be usedfor) mapping and/or navigation-related services. In one embodiment,geographic features (e.g., two-dimensional or three-dimensionalfeatures) are represented using polygons (e.g., two-dimensionalfeatures) or polygon extrusions (e.g., three-dimensional features). Forexample, the edges of the polygons correspond to the boundaries or edgesof the respective geographic feature. In the case of a building, atwo-dimensional polygon can be used to represent a footprint of thebuilding, and a three-dimensional polygon extrusion can be used torepresent the three-dimensional surfaces of the building. It iscontemplated that although various embodiments are discussed withrespect to two-dimensional polygons, it is contemplated that theembodiments are also applicable to three-dimensional polygon extrusions.Accordingly, the terms polygons and polygon extrusions as used hereincan be used interchangeably.

In one embodiment, the following terminology applies to therepresentation of geographic features in the geographic database 119.

“Node”—A point that terminates a link.

“Line segment”—A straight line connecting two points.

“Link” (or “edge”)—A contiguous, non-branching string of one or moreline segments terminating in a node at each end.

“Shape point”—A point along a link between two nodes (e.g., used toalter a shape of the link without defining new nodes).

“Oriented link”—A link that has a starting node (referred to as the“reference node”) and an ending node (referred to as the “non referencenode”).

“Simple polygon”—An interior area of an outer boundary formed by astring of oriented links that begins and ends in one node. In oneembodiment, a simple polygon does not cross itself

“Polygon”—An area bounded by an outer boundary and none or at least oneinterior boundary (e.g., a hole or island). In one embodiment, a polygonis constructed from one outer simple polygon and none or at least oneinner simple polygon. A polygon is simple if it just consists of onesimple polygon, or complex if it has at least one inner simple polygon.

In one embodiment, the geographic database 119 follows certainconventions. For example, links do not cross themselves and do not crosseach other except at a node. Also, there are no duplicated shape points,nodes, or links. Two links that connect each other have a common node.In the geographic database 119, overlapping geographic features arerepresented by overlapping polygons. When polygons overlap, the boundaryof one polygon crosses the boundary of the other polygon. In thegeographic database 119, the location at which the boundary of onepolygon intersects they boundary of another polygon is represented by anode. In one embodiment, a node may be used to represent other locationsalong the boundary of a polygon than a location at which the boundary ofthe polygon intersects the boundary of another polygon. In oneembodiment, a shape point is not used to represent a point at which theboundary of a polygon intersects the boundary of another polygon.

As shown, the geographic database 119 includes node data records 137,road segment or link data records 139, POI data records 141, campaigndata records 143, other records 145, and indexes 147, for example. More,fewer or different data records can be provided. In one embodiment,additional data records (not shown) can include cartographic (“carto”)data records, routing data, and maneuver data. In one embodiment, theindexes 147 may improve the speed of data retrieval operations in thegeographic database 105. In one embodiment, the indexes 147 may be usedto quickly locate data without having to search every row in thegeographic database 119 every time it is accessed. For example, in oneembodiment, the indexes 147 can be a spatial index of the polygon pointsassociated with stored feature polygons.

In exemplary embodiments, the road segment data records 139 are links orsegments representing roads, streets, or paths, as can be used in thecalculated route or recorded route information for determination of oneor more personalized routes. The node data records 137 are end pointscorresponding to the respective links or segments of the road segmentdata records 139. The road link data records 139 and the node datarecords 137 represent a road network, such as used by vehicles, cars,and/or other entities. Alternatively, the geographic database 119 cancontain path segment and node data records or other data that representpedestrian paths or areas in addition to or instead of the vehicle roadrecord data, for example.

The road/link segments and nodes can be associated with attributes, suchas geographic coordinates, street names, address ranges, speed limits,turn restrictions at intersections, and other navigation relatedattributes, as well as POIs, such as gasoline stations, hotels,restaurants, museums, stadiums, offices, automobile dealerships, autorepair shops, buildings, stores, parks, etc. The geographic database 119can include data about the POIs and their respective locations in thePOI data records 141. The geographic database 119 can also include dataabout places, such as cities, towns, or other communities, and othergeographic features, such as bodies of water, mountain ranges, etc. Suchplace or feature data can be part of the POI data records 141 or can beassociated with POIs or POI data records 141 (such as a data point usedfor displaying or representing a position of a city).

In one embodiment, the geographic database 119 can also include featurecorrespondence data records 143 for storing the identified featurecorrespondences (e.g., image-to-image correspondences, image-to-groundcorrespondences, etc.), location corrected images, location correctedfeatures, location corrected camera models/poses, as well as otherrelated data used or generated according to the various embodimentsdescribed herein. By way of example, the feature correspondence datarecords 143 can be associated with one or more of the node records 137,road segment records 139, and/or POI data records 141 to supportlocalization or visual odometry based on the features stored therein andthe corresponding estimated quality of the features. In this way, thecorrespondence data records 143 can also be associated with or used toclassify the characteristics or metadata of the corresponding records137, 139, and/or 141.

In one embodiment, the geographic database 119 can be maintained by thecontent provider (e.g., a map developer). The map developer can collectgeographic data to generate and enhance the geographic database 119.There can be different ways used by the map developer to collect data.These ways can include obtaining data from other sources, such asmunicipalities or respective geographic authorities. In addition, themap developer can employ field personnel to travel by vehicle alongroads throughout the geographic region to observe features and/or recordinformation about them, for example. Also, remote sensing, such asaerial or satellite photography, can be used.

In one embodiment, the geographic database 119 include high resolutionor high definition (HD) mapping data that provide centimeter-level orbetter accuracy of map features. For example, the geographic database119 can be based on Light Detection and Ranging (LiDAR) or equivalenttechnology to collect billions of 3D points and model road surfaces andother map features down to the number lanes and their widths. In oneembodiment, the HD mapping data capture and store details such as theslope and curvature of the road, lane markings, roadside objects such assign posts, including what the signage denotes. By way of example, theHD mapping data enable highly automated vehicles to precisely localizethemselves on the road, and to determine road attributes (e.g., learnedspeed limit values) to at high accuracy levels.

In one embodiment, the geographic database 119 is stored as ahierarchical or multi-level tile-based projection or structure. Morespecifically, in one embodiment, the geographic database 105 may bedefined according to a normalized Mercator projection. Other projectionsmay be used. By way of example, the map tile grid of a Mercator orsimilar projection is a multilevel grid. Each cell or tile in a level ofthe map tile grid is divisible into the same number of tiles of thatsame level of grid. In other words, the initial level of the map tilegrid (e.g., a level at the lowest zoom level) is divisible into fourcells or rectangles. Each of those cells are in turn divisible into fourcells, and so on until the highest zoom or resolution level of theprojection is reached.

In one embodiment, the map tile grid may be numbered in a systematicfashion to define a tile identifier (tile ID). For example, the top lefttile may be numbered 00, the top right tile may be numbered 01, thebottom left tile may be numbered 10, and the bottom right tile may benumbered 11. In one embodiment, each cell is divided into fourrectangles and numbered by concatenating the parent tile ID and the newtile position. A variety of numbering schemes also is possible. Anynumber of levels with increasingly smaller geographic areas mayrepresent the map tile grid. Any level (n) of the map tile grid has2(n+1) cells. Accordingly, any tile of the level (n) has a geographicarea of A/2(n+1) where A is the total geographic area of the world orthe total area of the map tile grid 10. Because of the numbering system,the exact position of any tile in any level of the map tile grid orprojection may be uniquely determined from the tile ID.

In one embodiment, the system 100 may identify a tile by a quadkeydetermined based on the tile ID of a tile of the map tile grid. Thequadkey, for example, is a one-dimensional array including numericalvalues. In one embodiment, the quadkey may be calculated or determinedby interleaving the bits of the row and column coordinates of a tile inthe grid at a specific level. The interleaved bits may be converted to apredetermined base number (e.g., base 10, base 4, hexadecimal). In oneexample, leading zeroes are inserted or retained regardless of the levelof the map tile grid in order to maintain a constant length for theone-dimensional array of the quadkey. In another example, the length ofthe one-dimensional array of the quadkey may indicate the correspondinglevel within the map tile grid 10. In one embodiment, the quadkey is anexample of the hash or encoding scheme of the respective geographicalcoordinates of a geographical data point that can be used to identify atile in which the geographical data point is located.

The geographic database 119 can be a master geographic database storedin a format that facilitates updating, maintenance, and development. Forexample, the master geographic database or data in the master geographicdatabase can be in an Oracle spatial format or other spatial format,such as for development or production purposes. The Oracle spatialformat or development/production database can be compiled into adelivery format, such as a geographic data files (GDF) format. The datain the production and/or delivery formats can be compiled or furthercompiled to form geographic database products or databases, which can beused in end user navigation devices or systems.

For example, geographic data is compiled (such as into a platformspecification format (PSF) format) to organize and/or configure the datafor performing navigation-related functions and/or services, such asroute calculation, route guidance, map display, speed calculation,distance and travel time functions, and other functions, by a navigationdevice, such as by the vehicle 103, for example. The navigation-relatedfunctions can correspond to vehicle navigation, pedestrian navigation,or other types of navigation. The compilation to produce the end userdatabases can be performed by a party or entity separate from the mapdeveloper. For example, a customer of the map developer, such as anavigation device developer or other end user device developer, canperform compilation on a received geographic database in a deliveryformat to produce one or more compiled navigation databases.

In exemplary embodiments, the road segment data records are links orsegments representing roads, streets, or paths, as can be used in thecalculated route or recorded route information. The node data recordsare end points corresponding to the respective links or segments of theroad segment data records. The road link data records and the node datarecords represent a road network, such as used by vehicles, cars, and/orother entities. Alternatively, the geographic database 119 can containpath segment and node data records or other data that representpedestrian paths or areas in addition to or instead of the vehicle roadrecord data, for example.

The transportation database 113 and/or the geographic database 119 canbe stored in a format that facilitates updating, maintenance, anddevelopment of the relevant data. For example, the data in thetransportation database 113 and/or the geographic database 119 can bestored in an Oracle spatial format or other spatial format. The Oraclespatial format can be compiled into a delivery format, such as ageographic data files (GDF) format to be compiled or further compiled toform geographic database products or databases, which can be used in enduser navigation devices or systems.

As mentioned above, the transportation database 113 and the geographicdatabase 119 are separated databases, but in alternate embodiments, thetransportation database 113 and the geographic database 119 are combinedinto one database that can be used in or with end user devices (e.g.,UEs 101) to provide location-related functions and provide sharedvehicle information. For example, the databases 113, 119 are assessibleto the UE 101 directly or via the mapping platform 105. In anotherembodiments, the databases 113, 119 can be downloaded or stored on UE101, such as in applications 111.

FIG. 2 is a diagram of the components of a mapping platform 105,according to one embodiment. By way of example, the mapping platform 105includes one or more components for providing location information for ashared vehicle's parked location. It is contemplated that the functionsof these components may be combined or performed by other components ofequivalent functionality. In this embodiment, the mapping platform 105includes an authentication module 201, a vehicle module 205, aprocessing module 207, a communication module 209, and a user interfacemodule 211.

In one embodiment, the authentication module 201 authenticates UEs 101and/or associated vehicles 103 for interaction with the routing platform105. By way of example, the authentication module 201 receives a requestto access the routing platform 105 via an application 111. The requestmay be submitted to the authentication module 201 via the communicationmodule 209, which enables an interface between the application 111 andthe mapping platform 105. In addition, the authentication module 201 mayprovide and/or validate access by the UE 101 to upload location-basedinformation to the mapping platform 105. In one embodiment, theauthentication module 201 may further be configured to support and/orvalidate the formation of profile by a provider of a service 109 orcontent provider 115, e.g., for supporting integration of thecapabilities for shared vehicle location used with said providers 115 orservices 109.

In one embodiment, the processing module 207 manages a vehicle locationand can estimate the user movement based on predicted movement of thedifferent mode of transport, such as cycling, car riding, scooter ridingetc., in absence of real-time trajectory data, such as the user istraveling in a poor GPS coverage area. In one embodiment, the processingmodule 207 provides to the user instructions, and/or other informationto the user to locate the vehicle.

It is further noted that the user interface module 211 may operate inconnection with the communication module 209 to facilitate the exchangeof real-time location information via the communication network 107 withrespect to the services 109, content providers 115 and applications 111.Alternatively, the communication module 209 may facilitate transmissionof the real-time location information directly to the services 109 orcontent providers 115.

The above presented modules and components of the routing platform 105can be implemented in hardware, firmware, software, or a combinationthereof. Though depicted as a separate entity in FIG. 1A, it iscontemplated that the platform 105 may be implemented for directoperation by respective UEs 101 and/or vehicles 103. As such, therouting platform 105 may generate direct signal inputs by way of theoperating system of the UE 101 and/or vehicles 103 for interacting withthe application 111. In another embodiment, one or more of the modules201-211 may be implemented for operation by respective UEs 101 and/orvehicles 103 as a platform 105, cloud based service, or combinationthereof.

FIG. 3 is a flowchart of a process for determining a location of ashared vehicle, according to one embodiment. In one embodiment, themapping platform 105 performs the process 300 and is implemented in, forinstance, a chip set including a processor and a memory as shown in FIG.9. In addition or alternatively, all or a portion of the process 300 maybe performed locally at the UE 101 and/or vehicle 103 (e.g., via theapplication 111 or another equivalent hardware and/or softwarecomponent).

In FIG. 3, according to one embodiment, a method for determining alocation of a shared vehicle is represented in a flowchart. The methodincludes step 301 that comprises initiating a capture of an image of ashared vehicle using a camera sensor of a device. In one embodiment, thedevice is associated with a user of the shared vehicle. In oneembodiment, shared vehicle services do not allow checking out the sharedvehicles on some given streets. In such instances, the map matchingwould return a valid position, but a notification coming from the sharedvehicle service would point this location as being in a so-called“restricted” area. In an alternative embodiment, the capture of theimage is initiated or requested based on determining that a previouslyreported location of the shared vehicle has an inaccuracy above athreshold value. In one embodiment, an AR view through the camera couldsurface the information that parking or check out of the vehicle is notallowed or permitted at a given location. In certain embodiments, anoverlay could even show the limits in AR view.

In one embodiment, the data can be provided for presenting a userinterface on the device to indicate a valid framing, a recommendedframing, or a combination thereof for the capture of the image.

In step 303, the image is processed to determine an image-based locationof the shared vehicle. In one embodiment, the image-based location ofthe shared vehicle is determined based on at least one of: a geo-taggedlocation associated with the image; object location data of one or otherobjects that are photo-identifiable in the image; and image depth datadetected by an augmented reality component of the device. In oneembodiment, the validity of the image for determining the image-basedlocation of the shared vehicle is based on a distance of the camerasensor from the shared vehicle, a presence of one or more otherphoto-identifiable objects that can be used to visually position theshared vehicle, or a combination thereof. In one embodiment, real-timefeedback can be provided on the device to indicate a validity of theimage for determining the location of the shared vehicle in the image.

In step 305, the method also comprises fusing the image-based locationwith at least one other source of location data indicating a position ofthe shred vehicle to determine the location of the shared vehicle. Inone embodiment, the at least one other source of location dataindicating the position of the shared vehicle includes at least one of:first position data reported by the shared vehicle; and second positiondata determined using a sensor of the device other than the camerasensor. In one embodiment, the location of the shared vehicle that isdetermined is transmitted to a system of a provider of the sharedvehicle to initiate a check-out of the shared vehicle.

In other embodiments, the method for determining the location of theshared vehicle can further include fusing the geo-tagged location withat least one other location data source to determine the location of theshared vehicle. In one embodiment, the at least one other location datasource includes location data reported from the shared vehicle, locationdata reported from a visual positioning service, location datadetermined from an object detected in the image other than the sharedvehicle, or combination thereof.

FIG. 4 is an example of an image captured by the user with the userequipment 101. The image includes the shared vehicle 401 in front of awall facade 403 on a sidewalk 405. The shared vehicle 401 can be sittingupright with the assistance of a kickstand or left leaning against thewall facade 403. The image is an example of a location at which the userwishes to leave the shared vehicle 401 at the conclusion of their trip.If a successful GPS position can be reported by a GPS receiver equippedon the shared vehicle 401, the system will not request the user tocapture any image and otherwise waste additional system processingresources such as accessing the visual positioning service or ARfeature. The system will instruct the user to capture an image of theshared vehicle 401 with a camera sensor in the user equipment 101. Thesystem 100 will processing the image to determine an image-basedlocation of the shared vehicle 401. In one embodiment, the image-basedlocation of the shared vehicle is determined based on at least one of: ageo-tagged location associated with the image; object location data ofone or other objects that are photo-identifiable in the image; and imagedepth data detected by an augmented reality component of the device. Thesystem 100 will then fuse the image-based location with at least oneother source of location data indicating a position of the sharedvehicle to determine the location of the shared vehicle 401. In oneembodiment, the at least one other source of location data indicatingthe position of the shared vehicle includes at least one of: firstposition data reported by the shared vehicle; and second position datadetermined using a sensor of the device other than the camera sensor.

FIG. 5 is an example of user equipment 101 in the process of capturingan image of the shared vehicle 503 with the system 100 providing theuser support or hints and direct feedback on how to capture a valuableimage of the shared vehicle at the time the shared vehicle 503 is beingreturned after use. In this example, the system provides a frame 505that includes the shared vehicle 503 together with sufficient details ofthe facade 507 to enable facade detection by way of the visualpositioning service and its database of street view images to determinethe location of the shared vehicle. FIG. 6 is substantially the same asFIG. 5, but includes an approval indicator 509 which is an example ofthe visual positioning system indicating that it has enough data. Thevisual positioning system in this embodiment shows an approval indicator509 such as a check mark, star, or a thumbs up icon which advises theuser that the location shared vehicle 503 has been obtained and theshared vehicle 503 has been successfully checked out such that the usercan leave the shared vehicle 503.

FIG. 7 is an example of an image of two shared vehicles 701 and 703 thatare parked near one another. In this embodiment, the system 100 can useposition information of shared vehicle 703 that is parked nearby theshared vehicle 701 that the user is attempting to check out. The knownposition of shared vehicle 703 can be used to fine tune the positioningof the shared vehicle 701. Shared vehicle services often encourage itscustomers to group the shared vehicles (e.g., bicycles, mopeds,scooters, etc.) when possible in order to limit the street or sidewalkdisturbances or obstructions. In this example, the user identifies asecond shared vehicle 703 through the camera lens when attempting totake a picture of shared vehicle 701 they are attempting to check out.The detection of this second shared vehicle 703 can be used to fine tunethe positioning of the first shared vehicle by retrieving the previouslyreported position of the second shared vehicle 703 and analyzing therelative position to the shared vehicle 701 being checked out. In thisexample, the system 100 will recognize the second shared vehicle 703 asbeing within a specified distance from shared vehicle 701 (e.g., sharedvehicle 701 is less than 1 meter to the right of the previously parkedshared vehicle 703.

The processes described herein for locating a shared vehicle's parkedlocation may be advantageously implemented via software, hardware,firmware or a combination of software and/or firmware and/or hardware.For example, the processes described herein, may be advantageouslyimplemented via processor(s), Digital Signal Processing (DSP) chip, anApplication Specific Integrated Circuit (ASIC), Field Programmable GateArrays (FPGAs), etc. Such exemplary hardware for performing thedescribed functions is detailed below.

FIG. 8 illustrates a computer system 800 upon which an embodiment of theinvention may be implemented. Although computer system 800 is depictedwith respect to a particular device or equipment, it is contemplatedthat other devices or equipment (e.g., network elements, servers, etc.)within FIG. 8 can deploy the illustrated hardware and components ofsystem 800. Computer system 800 is programmed (e.g., via computerprogram code or instructions) to determine a parked location of a sharedvehicle based on reported location data as described herein and includesa communication mechanism such as a bus 810 for passing informationbetween other internal and external components of the computer system800. Information (also called data) is represented as a physicalexpression of a measurable phenomenon, typically electric voltages, butincluding, in other embodiments, such phenomena as magnetic,electromagnetic, pressure, chemical, biological, molecular, atomic,sub-atomic and quantum interactions. For example, north and southmagnetic fields, or a zero and non-zero electric voltage, represent twostates (0, 1) of a binary digit (bit). Other phenomena can representdigits of a higher base. A superposition of multiple simultaneousquantum states before measurement represents a quantum bit (qubit). Asequence of one or more digits constitutes digital data that is used torepresent a number or code for a character. In some embodiments,information called analog data is represented by a near continuum ofmeasurable values within a particular range. Computer system 800, or aportion thereof, constitutes a means for performing one or more steps ofmanaging a vehicle reservation used in an intermodal route.

A bus 810 includes one or more parallel conductors of information sothat information is transferred quickly among devices coupled to the bus810. One or more processors 802 for processing information are coupledwith the bus 810.

A processor (or multiple processors) 802 performs a set of operations oninformation as specified by computer program code related to determininga parked location of a shared vehicle based on reported location data.The computer program code is a set of instructions or statementsproviding instructions for the operation of the processor and/or thecomputer system to perform specified functions. The code, for example,may be written in a computer programming language that is compiled intoa native instruction set of the processor. The code may also be writtendirectly using the native instruction set (e.g., machine language). Theset of operations include bringing information in from the bus 810 andplacing information on the bus 810. The set of operations also typicallyinclude comparing two or more units of information, shifting positionsof units of information, and combining two or more units of information,such as by addition or multiplication or logical operations like OR,exclusive OR (XOR), and AND. Each operation of the set of operationsthat can be performed by the processor is represented to the processorby information called instructions, such as an operation code of one ormore digits. A sequence of operations to be executed by the processor802, such as a sequence of operation codes, constitute processorinstructions, also called computer system instructions or, simply,computer instructions. Processors may be implemented as mechanical,electrical, magnetic, optical, chemical or quantum components, amongothers, alone or in combination.

Computer system 800 also includes a memory 804 coupled to bus 810. Thememory 804, such as a random access memory (RAM) or any other dynamicstorage device, stores information including processor instructions fordetermining a parked location of a shared vehicle based on reportedlocation data. Dynamic memory allows information stored therein to bechanged by the computer system 800. RAM allows a unit of informationstored at a location called a memory address to be stored and retrievedindependently of information at neighboring addresses. The memory 804 isalso used by the processor 802 to store temporary values duringexecution of processor instructions. The computer system 800 alsoincludes a read only memory (ROM) 806 or any other static storage devicecoupled to the bus 810 for storing static information, includinginstructions, that is not changed by the computer system 800. Somememory is composed of volatile storage that loses the information storedthereon when power is lost. Also coupled to bus 810 is a non-volatile(persistent) storage device 808, such as a magnetic disk, optical diskor flash card, for storing information, including instructions, thatpersists even when the computer system 800 is turned off or otherwiseloses power.

Information, including instructions for determining a parked location ofa shared vehicle, is provided to the bus 810 for use by the processorfrom an external input device 812, such as a keyboard containingalphanumeric keys operated by a human user, or a sensor. A sensordetects conditions in its vicinity and transforms those detections intophysical expression compatible with the measurable phenomenon used torepresent information in computer system 800. Other external devicescoupled to bus 810, used primarily for interacting with humans, includea display device 814, such as a cathode ray tube (CRT), a liquid crystaldisplay (LCD), a light emitting diode (LED) display, an organic LED(OLED) display, a plasma screen, or a printer for presenting text orimages, and a pointing device 816, such as a mouse, a trackball, cursordirection keys, or a motion sensor, for controlling a position of asmall cursor image presented on the display 814 and issuing commandsassociated with graphical elements presented on the display 814. In someembodiments, for example, in embodiments in which the computer system800 performs all functions automatically without human input, one ormore of external input device 812, display device 814 and pointingdevice 816 is omitted.

In the illustrated embodiment, special purpose hardware, such as anapplication specific integrated circuit (ASIC) 820, is coupled to bus810. The special purpose hardware is configured to perform operationsnot performed by processor 802 quickly enough for special purposes.Examples of ASICs include graphics accelerator cards for generatingimages for display 814, cryptographic boards for encrypting anddecrypting messages sent over a network, speech recognition, andinterfaces to special external devices, such as robotic arms and medicalscanning equipment that repeatedly perform some complex sequence ofoperations that are more efficiently implemented in hardware.

Computer system 800 also includes one or more instances of acommunications interface 880 coupled to bus 810. Communication interface880 provides a one-way or two-way communication coupling to a variety ofexternal devices that operate with their own processors, such asprinters, scanners and external disks. In general the coupling is with anetwork link 878 that is connected to a local network 880 to which avariety of external devices with their own processors are connected. Forexample, communication interface 880 may be a parallel port or a serialport or a universal serial bus (USB) port on a personal computer. Insome embodiments, communications interface 880 is an integrated servicesdigital network (ISDN) card or a digital subscriber line (DSL) card or atelephone modem that provides an information communication connection toa corresponding type of telephone line. In some embodiments, acommunication interface 880 is a cable modem that converts signals onbus 810 into signals for a communication connection over a coaxial cableor into optical signals for a communication connection over a fiberoptic cable. As another example, communications interface 880 may be alocal area network (LAN) card to provide a data communication connectionto a compatible LAN, such as Ethernet. Wireless links may also beimplemented. For wireless links, the communications interface 880 sendsor receives or both sends and receives electrical, acoustic orelectromagnetic signals, including infrared and optical signals, thatcarry information streams, such as digital data. For example, inwireless devices, such as mobile computers like vehicle infotainmentsystem, the communications interface 880 includes a radio bandelectromagnetic transmitter and receiver called a radio transceiver. Incertain embodiments, the communications interface 880 enables connectionto the communication network 107 to determine shared vehicle locationthrough the UE 101.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing information to processor 802, includinginstructions for execution. Such a medium may take many forms,including, but not limited to computer-readable storage medium (e.g.,non-volatile media, volatile media), and transmission media.Non-transitory media, such as non-volatile media, include, for example,optical or magnetic disks, such as storage device 808. Volatile mediainclude, for example, dynamic memory 804. Transmission media include,for example, twisted pair cables, coaxial cables, copper wire, fiberoptic cables, and carrier waves that travel through space without wiresor cables, such as acoustic waves and electromagnetic waves, includingradio, optical and infrared waves. Signals include man-made transientvariations in amplitude, frequency, phase, polarization or otherphysical properties transmitted through the transmission media. Commonforms of computer-readable media include, for example, a floppy disk, aflexible disk, hard disk, magnetic tape, any other magnetic medium, aCD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape,optical mark sheets, any other physical medium with patterns of holes orother optically recognizable indicia, a RAM, a PROM, an EPROM, aFLASH-EPROM, an EEPROM, a flash memory, any other memory chip orcartridge, a carrier wave, or any other medium from which a computer canread. The term computer-readable storage medium is used herein to referto any computer-readable medium except transmission media.

Logic encoded in one or more tangible media includes one or both ofprocessor instructions on a computer-readable storage media and specialpurpose hardware, such as ASIC 820.

Network link 878 typically provides information communication usingtransmission media through one or more networks to other devices thatuse or process the information. For example, network link 878 mayprovide a connection through local network 880 to a host computer 882 orto equipment 884 operated by an Internet Service Provider (ISP). ISPequipment 884 in turn provides data communication services through thepublic, world-wide packet-switching communication network of networksnow commonly referred to as the Internet 890.

A computer called a server host 892 connected to the Internet hosts aprocess that provides a service in response to information received overthe Internet. For example, server host 892 hosts a process that providesinformation representing video data for presentation at display 814. Itis contemplated that the components of system 800 can be deployed invarious configurations within other computer systems, e.g., host 882 andserver 892.

At least some embodiments of the invention are related to the use ofcomputer system 800 for implementing some or all of the techniquesdescribed herein. According to one embodiment of the invention, thosetechniques are performed by computer system 800 in response to processor802 executing one or more sequences of one or more processorinstructions contained in memory 804. Such instructions, also calledcomputer instructions, software and program code, may be read intomemory 804 from another computer-readable medium such as storage device808 or network link 878. Execution of the sequences of instructionscontained in memory 804 causes processor 802 to perform one or more ofthe method steps described herein. In alternative embodiments, hardware,such as ASIC 820, may be used in place of or in combination withsoftware to implement the invention. Thus, embodiments of the inventionare not limited to any specific combination of hardware and software,unless otherwise explicitly stated herein.

The signals transmitted over network link 878 and other networks throughcommunications interface 880, carry information to and from computersystem 800. Computer system 800 can send and receive information,including program code, through the networks 880, 890 among others,through network link 878 and communications interface 880. In an exampleusing the Internet 890, a server host 892 transmits program code for aparticular application, requested by a message sent from computer 800,through Internet 890, ISP equipment 884, local network 880 andcommunications interface 880. The received code may be executed byprocessor 802 as it is received, or may be stored in memory 804 or instorage device 808 or any other non-volatile storage for laterexecution, or both. In this manner, computer system 800 may obtainapplication program code in the form of signals on a carrier wave.

Various forms of computer readable media may be involved in carrying oneor more sequence of instructions or data or both to processor 802 forexecution. For example, instructions and data may initially be carriedon a magnetic disk of a remote computer such as host 882. The remotecomputer loads the instructions and data into its dynamic memory andsends the instructions and data over a telephone line using a modem. Amodem local to the computer system 800 receives the instructions anddata on a telephone line and uses an infra-red transmitter to convertthe instructions and data to a signal on an infra-red carrier waveserving as the network link 878. An infrared detector serving ascommunications interface 880 receives the instructions and data carriedin the infrared signal and places information representing theinstructions and data onto bus 810. Bus 810 carries the information tomemory 804 from which processor 802 retrieves and executes theinstructions using some of the data sent with the instructions. Theinstructions and data received in memory 804 may optionally be stored onstorage device 808, either before or after execution by the processor802.

FIG. 9 illustrates a chip set or chip 900 upon which an embodiment ofthe invention may be implemented. Chip set 900 is programmed to provideshared vehicle location detection based on vehicle location informationas described herein and includes, for instance, the processor and memorycomponents described with respect to FIG. 10 incorporated in one or morephysical packages (e.g., chips). By way of example, a physical packageincludes an arrangement of one or more materials, components, and/orwires on a structural assembly (e.g., a baseboard) to provide one ormore characteristics such as physical strength, conservation of size,and/or limitation of electrical interaction. It is contemplated that incertain embodiments the chip set 900 can be implemented in a singlechip. It is further contemplated that in certain embodiments the chipset or chip 900 can be implemented as a single “system on a chip.” It isfurther contemplated that in certain embodiments a separate ASIC wouldnot be used, for example, and that all relevant functions as disclosedherein would be performed by a processor or processors. Chip set or chip900, or a portion thereof, constitutes a means for performing one ormore steps of providing user interface navigation information associatedwith the availability of functions. Chip set or chip 900, or a portionthereof, constitutes a means for performing one or more steps ofdetermining a parked location of a shared vehicle.

In one embodiment, the chip set or chip 900 includes a communicationmechanism such as a bus 901 for passing information among the componentsof the chip set 900. A processor 903 has connectivity to the bus 901 toexecute instructions and process information stored in, for example, amemory 905. The processor 903 may include one or more processing coreswith each core configured to perform independently. A multi-coreprocessor enables multiprocessing within a single physical package.Examples of a multi-core processor include two, four, eight, or greaternumbers of processing cores. Alternatively or in addition, the processor903 may include one or more microprocessors configured in tandem via thebus 901 to enable independent execution of instructions, pipelining, andmultithreading. The processor 903 may also be accompanied with one ormore specialized components to perform certain processing functions andtasks such as one or more digital signal processors (DSP) 907, or one ormore application-specific integrated circuits (ASIC) 909. A DSP 907typically is configured to process real-world signals (e.g., sound) inreal time independently of the processor 903. Similarly, an ASIC 909 canbe configured to performed specialized functions not easily performed bya more general purpose processor. Other specialized components to aid inperforming the inventive functions described herein may include one ormore field programmable gate arrays (FPGA) (not shown), one or morecontrollers (not shown), or one or more other special-purpose computerchips.

In one embodiment, the chip set or chip 900 includes merely one or moreprocessors and some software and/or firmware supporting and/or relatingto and/or for the one or more processors.

The processor 903 and accompanying components have connectivity to thememory 905 via the bus 901. The memory 905 includes both dynamic memory(e.g., RAM, magnetic disk, writable optical disk, etc.) and staticmemory (e.g., ROM, CD-ROM, etc.) for storing executable instructionsthat when executed perform the inventive steps described herein todetermine a parked location of a shared vehicle. The memory 905 alsostores the data associated with or generated by the execution of theinventive steps.

FIG. 10 is a diagram of exemplary components of a mobile device(smartphones, tablet) for communications, which is capable of operatingin the system of FIG. 1, according to one embodiment. In someembodiments, mobile terminal 1001, or a portion thereof, constitutes ameans for performing one or more steps of determining a parked locationof a shared vehicle. Generally, a radio receiver is often defined interms of front-end and back-end characteristics. The front-end of thereceiver encompasses all of the Radio Frequency (RF) circuitry whereasthe back-end encompasses all of the base-band processing circuitry. Asused in this application, the term “circuitry” refers to both: (1)hardware-only implementations (such as implementations in only analogand/or digital circuitry), and (2) to combinations of circuitry andsoftware (and/or firmware) (such as, if applicable to the particularcontext, to a combination of processor(s), including digital signalprocessor(s), software, and memory(ies) that work together to cause anapparatus, such as a mobile computer or server, to perform variousfunctions). This definition of “circuitry” applies to all uses of thisterm in this application, including in any claims. As a further example,as used in this application and if applicable to the particular context,the term “circuitry” would also cover an implementation of merely aprocessor (or multiple processors) and its (or their) accompanyingsoftware/or firmware. The term “circuitry” would also cover ifapplicable to the particular context, for example, a baseband integratedcircuit or applications processor integrated circuit in a mobilecomputer or a similar integrated circuit in network device (e.g., acellular network device or data other network devices).

Pertinent internal components of the mobile terminal include a MainControl Unit (MCU) 1003, a Digital Signal Processor (DSP) 1005, and areceiver/transmitter unit. In one embodiment, wherein voice-basedinteraction and/or communications are supported at the mobile terminal,the mobile terminal may also include a microphone gain control unit anda speaker gain control unit. A main display unit 1007 provides a displayto the user in support of various applications and mobile terminalfunctions that perform or support the steps of determining a parkedlocation of a shared vehicle. The display 1007 includes displaycircuitry configured to display at least a portion of a user interfaceof the mobile terminal (e.g., mobile telephone). Additionally, thedisplay 1007 and display circuitry are configured to facilitate usercontrol of at least some functions of the mobile terminal. Inembodiments supporting voice-based interactions and/or communications,an audio function circuitry 1009 includes a microphone 1011 andmicrophone amplifier that amplifies the speech signal output from themicrophone 1011. The amplified speech signal output from the microphone1011 is fed to a coder/decoder (CODEC) 1013.

A radio section 1015 amplifies power and converts frequency in order tocommunicate with a base station (e.g., data and/or voicecommunications), which is included in a mobile communication system, viaantenna 1017. The power amplifier (PA) 1019 and thetransmitter/modulation circuitry are operationally responsive to the MCU1003, with an output from the PA 1019 coupled to the duplexer 1021 orcirculator or antenna switch, as known in the art. The PA 1019 alsocouples to a battery interface and power control unit 1020.

In use, data to support determining a parked location of a sharedvehicle is formatted into network packets (e.g., Internet Protocol (IP)packets) for transmission using one or more network transmissionprotocol (e.g., a cellular network transmission protocol described inmore detail below). In one embodiment, the network packets includecontrol information and payload data, with the control informationspecifying originating/destination network addresses, error controlsignals, signals for reconstructing the user data from the packets,and/or other related information. In embodiments supporting voice-basedinteraction and/or communications, a user of mobile terminal 1001 speaksinto the microphone 1011 and his or her voice along with any detectedbackground noise is converted into an analog voltage. The analog voltageis then converted into a digital signal through the Analog to DigitalConverter (ADC) 1023. The control unit 1003 routes the digital signalinto the DSP 1005 for processing therein, such as speech recognition,speech encoding, channel encoding, encrypting, and interleaving.

In one embodiment, the processed network packets and/or voice signalsare encoded, by units not separately shown, using a cellulartransmission protocol such as enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., microwave access (WiMAX), LongTerm Evolution (LTE) networks, code division multiple access (CDMA),wideband code division multiple access (WCDMA), wireless fidelity(WiFi), satellite, and the like, or any combination thereof.

The encoded signals are then routed to an equalizer 1025 forcompensation of any frequency-dependent impairments that occur duringtransmission through the air such as phase and amplitude distortion.After equalizing the bit stream, the modulator 1027 combines the signalwith a RF signal generated in the RF interface 1029. The modulator 1027generates a sine wave by way of frequency or phase modulation. In orderto prepare the signal for transmission, an up-converter 1031 combinesthe sine wave output from the modulator 1027 with another sine wavegenerated by a synthesizer 1033 to achieve the desired frequency oftransmission. The signal is then sent through a PA 1019 to increase thesignal to an appropriate power level. In practical systems, the PA 1019acts as a variable gain amplifier whose gain is controlled by the DSP1005 from information received from a network base station. The signalis then filtered within the duplexer 1021 and optionally sent to anantenna coupler 1035 to match impedances to provide maximum powertransfer. Finally, the signal is transmitted via antenna 1017 to a localbase station. An automatic gain control (AGC) can be supplied to controlthe gain of the final stages of the receiver. The local base station orsimilar component then forwards data or network packets to a gatewayserver (e.g., a gateway to the Internet) for connectivity to networkcomponents used for providing shared vehicle availability detection. Inembodiments supporting voice-based interactions and/or communications,voice signals may be forwarded from the local base station to a remoteterminal which may be another mobile computer, cellular telephone,and/or any other mobile phone or a land-line connected to a PublicSwitched Telephone Network (PSTN), or other telephony networks.

Voice signals transmitted to the mobile terminal 1001 are received viaantenna 1017 and immediately amplified by a low noise amplifier (LNA)1037. A down-converter 1039 lowers the carrier frequency while thedemodulator 1041 strips away the RF leaving only a digital bit stream.The signal then goes through the equalizer 1025 and is processed by theDSP 1005. A Digital to Analog Converter (DAC) 1043 converts the signaland the resulting output is transmitted to the user through the speaker1045, all under control of a Main Control Unit (MCU) 1003 which can beimplemented as a Central Processing Unit (CPU) (not shown).

The MCU 1003 receives various signals including input signals from thekeyboard 1047. The keyboard 1047 and/or the MCU 1003 in combination withother user input components (e.g., the microphone 1011) comprise a userinterface circuitry for managing user input. The MCU 1003 runs a userinterface software to facilitate user control of at least some functionsof the mobile terminal 1001 to determine a parked location of a sharedvehicle. The MCU 1003 also delivers a display command and a switchcommand to the display 1007 and to the speech output switchingcontroller, respectively. Further, the MCU 1003 exchanges informationwith the DSP 1005 and can access an optionally incorporated SIM card1049 and a memory 1051. In addition, the MCU 1003 executes variouscontrol functions required of the terminal. The DSP 1005 may, dependingupon the implementation, perform any of a variety of conventionaldigital processing functions on the voice signals. Additionally, DSP1005 determines the background noise level of the local environment fromthe signals detected by microphone 1011 and sets the gain of microphone1011 to a level selected to compensate for the natural tendency of theuser of the mobile terminal 1001.

The CODEC 1013 includes the ADC 1023 and DAC 1043. The memory 1051stores various data including call incoming tone data and is capable ofstoring other data including music data received via, e.g., the globalInternet. The software module could reside in RAM memory, flash memory,registers, or any other form of writable storage medium known in theart. The memory device 1051 may be, but not limited to, a single memory,CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flashmemory storage, or any other non-volatile storage medium capable ofstoring digital data.

An optionally incorporated SIM card 1049 carries, for instance,important information, such as the cellular phone number, the carriersupplying service, subscription details (e.g., data and/or voicesubscriptions), and security information. The SIM card 1049 servesprimarily to identify the mobile terminal 1001 on a radio network. Thecard 1049 also contains a memory for storing a personal telephone numberregistry, text messages, and user specific mobile terminal settings.

While the invention has been described in connection with a number ofembodiments and implementations, the invention is not so limited butcovers various obvious modifications and equivalent arrangements, whichfall within the purview of the appended claims. Although features of theinvention are expressed in certain combinations among the claims, it iscontemplated that these features can be arranged in any combination andorder.

What is claimed is:
 1. A method for facilitating use of shared vehicles,the method comprising: receiving a request to return a shared vehicle,wherein the request comprises an image captured by a camera sensor of adevice; processing the image to determine a drop-off location where theshared vehicle is being returned, wherein the image comprises one ormore photo-identifiable objects that can be used to visually positionthe shared vehicle; and determining whether the determined drop-offlocation is authorized or designated for returning of the sharedvehicle.